home *** CD-ROM | disk | FTP | other *** search
/ C & C++ Multimedia Cyber Classroom / C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso / cpphtp2 / full.sec < prev    next >
Text File  |  1998-03-02  |  13KB  |  380 lines

  1. Preface
  2. C++ How to Program: Second Edition
  3. A Revolution in Software Development
  4. "Procedural Programming, Object-Based Programming, Object-Oriented Programming and Generic Programming"
  5. Evolving from Pascal and C to C++
  6. Introducing Object Orientation from Chapter 1!
  7. About this Book
  8. A Tour of the Book
  9. The C & C++ Multimedia Cyber Classroom: Second Edition
  10. Acknowledgments
  11. About the Authors
  12. "About Deitel & Associates, Inc."
  13. How To Use This Cyber Classroom
  14. 1 Introduction to Computers and C++ Programming
  15. 1.1 Introduction
  16. 1.2 What is a Computer?
  17. 1.3 Computer Organization
  18. 1.4 Evolution of Operating Systems
  19. "1.5 Personal Computing, Distributed Computing, and Client/Server Computing"
  20. "1.6 Machine Languages, Assembly Languages, and High-level Languages"
  21. 1.7 History of C and C++
  22. 1.8 C++ Standard Library
  23. "1.9 Java, the Internet and the World Wide Web"
  24. 1.10 Other High-level Languages
  25. 1.11 Structured Programming
  26. 1.12 Basics of a Typical C++ Environment
  27. 1.13 General Notes About C++ and This Book
  28. 1.14 Introduction to C++ Programming
  29. 1.15 A Simple Program: Printing a Line of Text
  30. 1.16 Another Simple Program: Adding Two Integers
  31. 1.17 Memory Concepts
  32. 1.18 Arithmetic
  33. 1.19 Decision Making: Equality and Relational Operators
  34. 1.20 New-Style Header Files and Namespaces
  35. 1.21 Thinking About Objects
  36. 1.22 Summary
  37. 2 Control Structures
  38. 2.1 Introduction
  39. 2.2 Algorithms
  40. 2.3 Pseudocode
  41. 2.4 Control Structures
  42. 2.5 The if Selection Structure
  43. 2.6 The if/else Selection Structure
  44. 2.7 The while Repetition Structure
  45. 2.8 Formulating Algorithms: Case Study 1 (Counter-Controlled Repetition)
  46. "2.9 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 2 (Sentinel-Controlled Repetition)"
  47. "2.10 Formulating Algorithms with Top-Down, Stepwise Refinement: Case Study 3 (Nested Control Structures)"
  48. 2.11 Assignment Operators
  49. 2.12 Increment and Decrement Operators
  50. 2.13 Essentials of Counter-Controlled Repetition
  51. 2.14 The for Repetition Structure
  52. 2.15 Examples Using the for Structure
  53. 2.16 The switch Multiple-Selection Structure
  54. 2.17 The do/while Repetition Structure
  55. 2.18 The break and continue Statements
  56. 2.19 Logical Operators
  57. 2.20 Confusing Equality ( ) and Assignment ( ) Operators
  58. 2.21 Structured Programming Summary
  59. 2.22 Thinking About Objects: Identifying the Objects in a Problem
  60. 2.23 Elevator Laboratory Assignment 1
  61. 2.24 Summary
  62. 3 Functions
  63. 3.1 Introduction
  64. 3.2 Program Components in C++
  65. 3.3 Math Library Functions
  66. 3.4 Functions
  67. 3.5 Function Definitions
  68. 3.6 Function Prototypes
  69. 3.7 Header Files
  70. 3.8 Random Number Generation
  71. 3.9 Example: A Game of Chance and Introducing enum
  72. 3.10 Storage Classes
  73. 3.11 Scope Rules
  74. 3.12 Recursion
  75. 3.13 Example Using Recursion: The Fibonacci Series
  76. 3.14 Recursion vs. Iteration
  77. 3.15 Functions with Empty Parameter Lists
  78. 3.16 Inline Functions
  79. 3.17 References and Reference Parameters
  80. 3.18 Default Arguments
  81. 3.19 Unary Scope Resolution Operator
  82. 3.20 Function Overloading
  83. 3.21 Function Templates
  84. 3.22 Thinking About Objects: Identifying an Object's Attributes
  85. 3.23 Elevator Laboratory Assignment 2
  86. 3.24 Summary
  87. 4 Arrays
  88. 4.1 Introduction
  89. 4.2 Arrays
  90. 4.3 Declaring Arrays
  91. 4.4 Examples Using Arrays
  92. 4.5 Passing Arrays to Functions
  93. 4.6 Sorting Arrays
  94. "4.7 Case Study: Computing Mean, Median, and Mode Using Arrays"
  95. 4.8 Searching Arrays: Linear Search and Binary Search
  96. 4.9 Multiple-Subscripted Arrays
  97. 4.10 Thinking About Objects: Identifying a Class's Behaviors
  98. 4.11 Elevator Laboratory Assignment 3
  99. 4.12 Summary
  100. 5 Pointers and Strings
  101. 5.1 Introduction
  102. 5.2 Pointer Variable Declarations and Initialization
  103. 5.3 Pointer Operators
  104. 5.4 Calling Functions by Reference
  105. 5.5 Using the Const Qualifier with Pointers
  106. 5.6 Bubble Sort Using Call-by-reference
  107. 5.7 Pointer Expressions and Pointer Arithmetic
  108. 5.8 The Relationship Between Pointers and Arrays
  109. 5.9 Arrays of Pointers
  110. 5.10 Case Study: A Card Shuffling and Dealing Simulation
  111. 5.11 Function Pointers
  112. 5.12 Introduction to Character and String Processing
  113. 5.13 Thinking About Objects: Interactions Among Objects
  114. 5.14 Summary
  115. 6 Classes and Data Abstraction
  116. 6.1 Introduction
  117. 6.2 Structure Definitions
  118. 6.3 Accessing Members of Structures
  119. 6.4 Implementing a User-Defined Type Time With a Struct
  120. 6.5 Implementing a Time Abstract Data Type with a Class
  121. 6.6 Class Scope and Accessing Class Members
  122. 6.7 Separating Interface from Implementation
  123. 6.8 Controlling Access to Members
  124. 6.9 Access Functions and Utility Functions
  125. 6.10 Initializing Class Objects: Constructors
  126. 6.11 Using Default Arguments with Constructors
  127. 6.12 Using Destructors
  128. 6.13 When Constructors and Destructors are Called
  129. 6.14 Using Data Members and Member Functions
  130. 6.15 A Subtle Trap: Returning a Reference to a Private Data Member
  131. 6.16 Assignment by Default Memberwise Copy
  132. 6.17 Software Reusability
  133. 6.18 Thinking About Objects: Programming the Classes for the Elevator Simulator
  134. 6.19 Elevator Laboratory Assignment 5
  135. 6.20 Summary
  136. 7 Classes: Part II
  137. 7.1 Introduction
  138. 7.2 const (Constant) Objects and const Member Functions
  139. 7.3 Composition: Objects as Members of Classes
  140. 7.4 friend Functions and friend Classes
  141. 7.5 Using the this Pointer
  142. 7.6 Dynamic Memory Allocation with Operators new and delete
  143. 7.7 static Class Members
  144. 7.8 Data Abstraction and Information Hiding
  145. 7.9 Container Classes and Iterators
  146. 7.10 Proxy Classes
  147. 7.11 Thinking About Objects: Using Composition and Dynamic Object Management in the Elevator Simulator
  148. 7.12 Elevator Laboratory Assignment 6
  149. 7.13 Summary
  150. 8 Operator Overloading
  151. 8.1 Introduction
  152. 8.2 Fundamentals of Operator Overloading
  153. 8.3 Restrictions on Operator Overloading
  154. 8.4 Operator Functions as Class Members vs. as Friend Functions
  155. 8.5 Overloading Stream-Insertion and Stream-Extraction Operators
  156. 8.6 Overloading Unary Operators
  157. 8.7 Overloading Binary Operators
  158. 8.8 Case Study: An Array Class
  159. 8.9 Converting Between Types
  160. 8.10 Case Study: A String Class
  161. 8.11 Overloading ++ and --
  162. 8.12 Case Study: A Date Class
  163. 8.13 Summary
  164. 9 Inheritance
  165. 9.1 Introduction
  166. 9.2 Inheritance: Base Classes and Derived Classes
  167. 9.3 Protected Members
  168. 9.4 Casting Base-Class Pointers to Derived-Class Pointers
  169. 9.5 Using Member Functions
  170. 9.6 Overriding Base-Class Members in a Derived Class
  171. "9.7 Public, Protected and Private Inheritance"
  172. 9.8 Direct Base Classes and Indirect Base Classes
  173. 9.9 Using Constructors and Destructors in Derived Classes
  174. 9.10 Implicit Derived-Class Object to Base-Class Object Conversion
  175. 9.11 Software Engineering with Inheritance
  176. 9.12 Composition Vs. Inheritance
  177. 9.13 "Uses A" and "Knows A" Relationships
  178. "9.14 Case Study: Point, Circle, Cylinder"
  179. 9.15 Multiple Inheritance
  180. 9.16 Summary
  181. 10 Virtual Functions and Polymorphism
  182. 10.1 Introduction
  183. 10.2 Type Fields and switch Statements
  184. 10.3 Virtual Functions
  185. 10.4 Abstract Base Classes and Concrete Classes
  186. 10.5 Polymorphism
  187. 10.6 Case Study: A Payroll System Using Polymorphism
  188. 10.7 New Classes and Dynamic Binding
  189. 10.8 Virtual Destructors
  190. 10.9 Case Study: Inheriting Interface and Implementation
  191. "10.10 Polymorphism, virtual Functions and Dynamic Binding"
  192. 10.11 Summary
  193. 11 C++ Stream Input/Output
  194. 11.1 Introduction
  195. 11.2 Streams
  196. 11.3 Stream Output
  197. 11.4 Stream Input
  198. "11.5 Unformatted I/O with read, gcount and write"
  199. 11.6 Stream Manipulators
  200. 11.7 Stream Format States
  201. 11.8 Stream Error States
  202. 11.9 Tying an Output Stream to an Input Stream
  203. 11.10 Summary
  204. 12 Templates
  205. 12.1 Introduction
  206. 12.2 Function Templates
  207. 12.3 Overloading Template Functions
  208. 12.4 Class Templates
  209. 12.5 Class Templates and Non-Type Parameters
  210. 12.6 Templates and Inheritance
  211. 12.7 Templates and Friends
  212. 12.8 Templates and Static Members
  213. 12.9 Summary
  214. 13 Exception Handling
  215. 13.1 Introduction
  216. 13.2 When Exception Handling Should Be Used
  217. 13.3 Other Error-Handling Techniques
  218. "13.4 Basics of C++ Exception Handling: try, throw, catch"
  219. 13.5 A Simple Exception-Handling Example: Divide by Zero
  220. 13.6 Throwing an Exception
  221. 13.7 Catching an Exception
  222. 13.8 Rethrowing an Exception
  223. 13.9 Exception Specifications
  224. 13.10 Processing Unexpected Exceptions
  225. 13.11 Stack Unwinding
  226. "13.12 Constructor